import { IParam } from '../../common';
import { IMPickupViewAbility } from '../ability';
import { IMPickupViewStore } from '../store';
import { IPickupViewController } from './i-pickup-view-controller';

/**
 * 多项选择视图2控制器接口
 *
 * @export
 * @interface IMPickupView2Controller
 * @extends {IPickupViewController<S, A>}
 * @template S
 * @template A
 */
export interface IMPickupView2Controller<
	S extends IMPickupViewStore,
	A extends IMPickupViewAbility
> extends IPickupViewController<S, A> {
	/**
	 * 右侧面板数据点击
	 *
	 * @param {IParam} item
	 * @memberof IMPickupView2Controller
	 */
	handleMPickupViewAction(action: string, item: IParam): void;

	/**
	 * 处理多项选择视图选择按钮行为
	 *
	 * @param {('toLeft' | 'toRight' | 'toAllLeft' | 'toAllRight')} type
	 * @memberof IMPickupView2Controller
	 */
	handleMPickupViewPickButtonAction(
		type: 'toLeft' | 'toRight' | 'toAllLeft' | 'toAllRight'
	): void;
}
